# -*- encoding: utf-8 -*-
# 
# Lúcuma
# Copyright © 2008 Diego Escalante Urrelo  <diegoe@gnome.org>
# 
# Licensed under the GNU General Public License Version 2
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor
# Boston, MA  02110-1301, USA.
# 

from django import template
from lucuma.personas.models import Persona
from lucuma.settings import MEDIA_URL

register = template.Library()

def persona_single(context):
    """
    Renders a Persona.
    """
    return {
        'persona': context.get('persona', None),
        'media_url': MEDIA_URL,
        }

def persona_login(context):
    """
    Shows a login form.
    """
    return {
        'session': context.get('session', None),
        }

def persona_profile(context):
    """
    Renders a profile for the context Persona or currently logged in Persona.
    """
    pk = context.get('session').get('persona_id')
    if not pk:
        return

    if context.get('persona', False):
        persona = context.get('persona')
    else:
        persona = Persona.objects.get(pk=pk)
    
    return {
        'persona': persona,
        'personas_tags_img': context.get('personas_tags_img', True), 
        'media_url': MEDIA_URL,
        }

register.inclusion_tag('persona_login.html', 
                        takes_context=True)(persona_login)
register.inclusion_tag('persona_profile.html', 
                        takes_context=True)(persona_profile)
register.inclusion_tag('persona_single.html', 
                        takes_context=True)(persona_single)
